package com.xln.demo7多态;

/**
 * 多态成员访问示例入口。
 */
public class Main {
    /**
     * 主方法：演示父类引用指向子类对象，方法与变量的访问差异。
     */
    public static void main(String[] args) {
        Game game = new Duizhan();
        Game game1 = new Sangsi();
        game.play();
        game.play();
        System.out.printf("名字变量："+game.name);
        // 使用第二个对象，避免未使用告警
        game1.play();
    }
//    二、多态中成员访问特点:
//    1.编译时，只能访问父类的方法，访问不到子类独有的方法，
//    而运行时,调用的子类重写的方法
//    2、变量调用:编译看左边,运行也看左边。(注意)
//    编译时,只能访问父类的变量,运行后也只访问父类的变量(如果为私有则父类也不能访问)
//    三、多态形态前提条件:
//    1-有继承/实现关系;
//    2-有父类引用指向子类对象;
//    3-有方法重写(多态侧重行为多态)。

}
